package com.qxzn.app.api.greendao;

import android.content.Context;

import com.qxzn.app.api.greendao.bean.AlarmClockBeanDao;
import com.qxzn.app.api.greendao.bean.DaoMaster;
import com.qxzn.app.util.AppUtil;

import org.greenrobot.greendao.database.Database;

/**
 * 自定义 MySQLiteOpenHelper集成 DaoMaster.OpenHelper 重写更新数据库的方法
 * *当app下的build.gradle 的schemaVersion数据库的版本号改变时，，创建数据库会调用onUpgrade更细数据库的方法
 */
public class MySQLiteOpenHelper extends DaoMaster.OpenHelper {
    /**
     * @param context 上下文
     * @param name    原来定义的数据库的名字   新旧数据库一致
     */
    public MySQLiteOpenHelper(Context context, String name) {
        super(context, name);
    }

    /**
     * @param db
     * @param oldVersion
     * @param newVersion 更新数据库的时候自己调用
     */
    @Override
    public void onUpgrade(Database db, int oldVersion, int newVersion) {
        AppUtil.showLog("数据库更新：" + newVersion);
        //具体的数据转移在MigrationHelper2类中
        /**
         *  将db传入将gen目录下的所有的Dao.类传入
         */
        MigrationHelper.dropAllTables(db, true);//删除表操作，第三个参数为需要删除的表数组
        MigrationHelper.migrate(db, AlarmClockBeanDao.class);
    }
}
